﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0065)http://blog.csdn.net/yhmhappy2006/archive/2007/07/01/1673203.aspx -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>ARM ADS集成开发环境的使用 - Nathan.Yu的专栏 - CSDN博客</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<SCRIPT 
src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/jquery-1.2.3.pack.js" 
type=text/javascript></SCRIPT>

<SCRIPT 
src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/jquery.highlighter.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/highlighter.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/common.js" 
type=text/javascript></SCRIPT>
<LINK media=all 
href="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/nature_1.css" type=text/css 
rel=stylesheet><LINK media=all 
href="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/csdn_favbykimi.css" 
type=text/css rel=stylesheet><LINK 
href="http://profile.csdn.net/yhmhappy2006/picture/1.ico" 
rel="Shortcut Icon"><LINK title=RSS 
href="http://feeds.feedsky.com/csdn.net/yhmhappy2006" type=application/rss+xml 
rel=alternate>
<META content="MSHTML 6.00.2900.5848" name=GENERATOR></HEAD>
<BODY id=defaultuser>
<DIV id=csdnblog_allwrap>
<DIV id=csdnblog_midwrap>
<DIV id=csdnblog_header>
<H1><A href="http://blog.csdn.net/yhmhappy2006">Nathan.Yu的专栏</A></H1>
<H2>有人就有恩怨，有恩怨就有江湖。人就是江湖，你怎么退出？</H2>
<UL id=personalnav>
  <LI style="DISPLAY: none"><A id=a_login 
  href="http://passport.csdn.net/UserLogin.aspx">登录</A> </LI>
  <LI style="DISPLAY: none"><A id=a_register 
  href="http://passport.csdn.net/CSDNUserRegister.aspx">注册</A> </LI>
  <LI style="DISPLAY: none"><A id=a_welcome href="http://hi.csdn.net/" 
  target=_blank>欢迎</A> </LI>
  <LI style="DISPLAY: none"><A id=a_exit 
  href="http://writeblog.csdn.net/Signout.aspx">退出</A> </LI>
  <LI style="DISPLAY: none"><A id=a_myblog href="http://blog.csdn.net/">我的博客</A> 
  </LI>
  <LI style="DISPLAY: none"><A id=a_configure 
  href="http://writeblog.csdn.net/configure.aspx" target=_blank>配置</A> </LI>
  <LI style="DISPLAY: none"><A id=a_postedit 
  href="http://writeblog.csdn.net/PostEditPlain.aspx" target=_blank>写文章</A> 
</LI>
  <LI style="DISPLAY: none"><A id=a_postlist 
  href="http://writeblog.csdn.net/PostList.aspx" target=_blank>文章管理</A> </LI>
  <LI style="DISPLAY: none"><A id=a_bloghome href="http://blog.csdn.net/" 
  target=_blank>博客首页</A> </LI></UL>
<UL id=blogsearchsty>
  <LI><INPUT class=bolgsearch id=inputSearch> </LI>
  <LI class=selectsty><SELECT id=Search_ddlSearchScope 
  name=Search:ddlSearchScope> <OPTION value=all selected>全站</OPTION> <OPTION 
    value=yhmhappy2006>当前博客</OPTION></SELECT> </LI>
  <LI><INPUT class=bolggobtn id=buttonSearch type=button value=搜索> </LI></UL>
<UL id=menu>
  <LI><A href="http://hi.csdn.net/yhmhappy2006">空间</A> </LI>
  <LI><A class=on href="http://blog.csdn.net/yhmhappy2006">博客</A> </LI>
  <LI><A 
  href="http://hi.csdn.net/yhmhappy2006/profile/contactlist/1.html">好友</A> </LI>
  <LI><A href="http://album.hi.csdn.net/views/albums/yhmhappy2006" 
  target=_blank>相册</A> </LI>
  <LI><A class=last 
  href="http://hi.csdn.net/yhmhappy2006/profile/notebook/1.html">留言</A> 
</LI></UL></DIV>
<SCRIPT type=text/javascript>
	var CurrentUserName = 'yhmhappy2006';
</SCRIPT>

<DIV id=csdnblog_sidebar>
<DIV class=gutter>
<DIV class=aboutauthor>
<DL>
  <DT>用户操作 
  <DD class=middle><A 
  href="http://hi.csdn.net/Admin/WriteMessage.aspx?Receiver=yhmhappy2006" 
  target=_blank>[发私信]</A>&nbsp; <A 
  href="http://webim.csdn.net/AddFriends/yhmhappy2006.ashx" 
  target=_blank>[加为好友]</A>&nbsp; <SPAN id=userInfo></SPAN><SPAN 
  id=SubscriptionList>
  <DT>订阅我的博客 
  <DD><A href="http://feeds.feedsky.com/csdn.net/yhmhappy2006"><IMG alt=XML聚合 
  src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/gif.gif" border=0> 
  </A>&nbsp;&nbsp; <A href="http://feeds.feedsky.com/csdn.net/yhmhappy2006" 
  target=_blank><IMG alt=FeedSky 
  src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/feedsky.gif" border=0> 
</A>
  <DD><A 
  href="http://www.xianguo.com/subscribe.php?url=http://feeds.feedsky.com/csdn.net/yhmhappy2006" 
  target=_blank><IMG alt=订阅到鲜果 
  src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss_xianguo.jpg" border=0> 
  </A>
  <DD><A 
  href="http://fusion.google.com/add?feedurl=http://feeds.feedsky.com/csdn.net/yhmhappy2006" 
  target=_blank><IMG alt=订阅到Google 
  src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss_google.gif" border=0> 
  </A>
  <DD><A 
  href="http://www.zhuaxia.com/add_channel.php?url=http://feeds.feedsky.com/csdn.net/yhmhappy2006" 
  target=_blank><IMG alt=订阅到抓虾 
  src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss_zhuaxia.gif" border=0> 
  </A></SPAN>
  <DT>yhmhappy2006的公告 
  <DD>
  <DT>文章分类 
  <DD>
  <DIV class=publiclist_sidebar>
  <UL>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244261.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=C/C++相关 
    href="http://blog.csdn.net/yhmhappy2006/category/244261.aspx">C/C++</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/352992.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title="Effective C++(3rd)读书笔记" 
    href="http://blog.csdn.net/yhmhappy2006/category/352992.aspx">Effective 
    C++(3rd)读书笔记</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/441083.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=Linux 
    href="http://blog.csdn.net/yhmhappy2006/category/441083.aspx">Linux</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/481518.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=备忘录 
    href="http://blog.csdn.net/yhmhappy2006/category/481518.aspx">备忘录</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244344.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=算法第一 
    href="http://blog.csdn.net/yhmhappy2006/category/244344.aspx">常用算法收集</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244390.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=计算机硬件软件知识 
    href="http://blog.csdn.net/yhmhappy2006/category/244390.aspx">电脑知识</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/520915.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=工具介绍 
    href="http://blog.csdn.net/yhmhappy2006/category/520915.aspx">工具介绍</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/507824.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=网站技术 
    href="http://blog.csdn.net/yhmhappy2006/category/507824.aspx">互联网</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/280861.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=代码生成器,mda........ 
    href="http://blog.csdn.net/yhmhappy2006/category/280861.aspx">计算机自动编程</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244575.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=每日的学习、工作总结如下 
    href="http://blog.csdn.net/yhmhappy2006/category/244575.aspx">每日小结</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/442587.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=面试题，面试技巧等 
    href="http://blog.csdn.net/yhmhappy2006/category/442587.aspx">面试</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244264.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=其他文章 
    href="http://blog.csdn.net/yhmhappy2006/category/244264.aspx">其他</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244262.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=ARM,WinCE 
    href="http://blog.csdn.net/yhmhappy2006/category/244262.aspx">嵌入式开发</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244265.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=我的人生我作主,我的理想我创造 
    href="http://blog.csdn.net/yhmhappy2006/category/244265.aspx">人生与理想</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/244391.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=点点滴滴,聚沙成塔! 
    href="http://blog.csdn.net/yhmhappy2006/category/244391.aspx">小小知识点</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/category/339887.aspx/rss"><IMG 
    alt=(RSS) 
    src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/rss.gif"></A><A 
    title=悟到的点点滴滴...... 
    href="http://blog.csdn.net/yhmhappy2006/category/339887.aspx">职业感悟</A></LI></UL></DIV>
  <DT>Linux
  <DD><A href="http://ftp.gnu.org/" target=_blank>http://ftp.gnu.org/</A>
  <DD><A href="http://www.kernel.org/" target=_blank>Linux Kernel</A>
  <DT>大师风范
  <DD><A href="http://www.research.att.com/~bs/" target=_blank>Bjarne 
  Stroustrup's homepage</A>
  <DD><A href="http://www.bruceeckel.com/" target=_blank>Bruce Eckel </A>
  <DD><A href="http://blogs.msdn.com/slippman/" target=_blank>Stanley B. 
  Lippman's Blog</A>
  <DD><A href="http://blog.csdn.net/g9yuayon/" target=_blank>负暄琐话</A>
  <DT>架构师
  <DD><A href="http://blog.csdn.net/spanzhang" target=_blank>张友邦</A>
  <DD><A href="http://blog.csdn.net/david_lv" target=_blank>阿朱</A>
  <DT>我的大学
  <DD><A href="http://www.hdu.edu.cn/" target=_blank>HDU</A>
  <DD><A href="http://bbs.redhome.cc/" target=_blank>红色家园</A>
  <DT>友情链接
  <DD><A href="http://www.cppblog.com/" target=_blank>C++博客</A>
  <DD><A href="http://www.mscenter.edu.cn/blog/k_eckel" target=_blank>k_eckel's 
  mindview</A>
  <DD><A href="http://www.blogcn.com/user3/arc/index.html" target=_blank>口口</A>
  <DD><A href="http://blog.163.com/snowbird99_1981/" target=_blank>可可大叔di小屋</A>
  <DD><A href="http://blog.csdn.net/yuchen19840608" target=_blank>小裸</A>
  <DD><A href="http://deven.yculblog.com/" target=_blank>棉花糖糖主</A>
  <DD><A href="http://blog.vckbase.com/hfl/" target=_blank>胡同学</A>
  <DD><A href="http://www.blogcn.com/u/29/76/61613137/index.html" 
  target=_blank>莫失莫忘</A>
  <DD><A href="http://subject.csdn.net/interview.htm" target=_blank>面试</A>
  <DT>著名写者
  <DD><A href="http://cj723.cnblogs.com/" target=_blank>伍迷家园</A>
  <DD><A href="http://www.jjhou.com/" target=_blank>候捷大师</A>
  <DD><A href="http://blog.csdn.net/pongba" target=_blank>刘未鹏，C++的罗浮宫</A>
  <DD><A href="http://blog.csdn.net/myan/" target=_blank>孟岩</A> 
  <DT>存档 
  <DD>
  <DIV class=publiclist_sidebar>
  <UL>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2009/04.aspx">2009年04月(2)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2009/03.aspx">2009年03月(6)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2009/02.aspx">2009年02月(1)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2009/01.aspx">2009年01月(2)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/12.aspx">2008年12月(4)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/11.aspx">2008年11月(19)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/10.aspx">2008年10月(4)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/09.aspx">2008年09月(1)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/08.aspx">2008年08月(12)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/07.aspx">2008年07月(1)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/06.aspx">2008年06月(4)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/05.aspx">2008年05月(1)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/04.aspx">2008年04月(5)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2008/01.aspx">2008年01月(1)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/12.aspx">2007年12月(2)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/11.aspx">2007年11月(18)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/10.aspx">2007年10月(4)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/09.aspx">2007年09月(5)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/08.aspx">2007年08月(3)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/07.aspx">2007年07月(3)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/06.aspx">2007年06月(8)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/05.aspx">2007年05月(5)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/04.aspx">2007年04月(11)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/03.aspx">2007年03月(14)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/02.aspx">2007年02月(9)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2007/01.aspx">2007年01月(11)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2006/12.aspx">2006年12月(6)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2006/11.aspx">2006年11月(2)</A>
    <LI><A 
    href="http://blog.csdn.net/yhmhappy2006/archive/2006/10.aspx">2006年10月(28)</A></LI></UL></DIV></DD></DL></DIV></DIV></DIV>
<DIV id=csdnblog_content>
<DIV class=gutter>
<DIV class=default_contents>
<DIV class=user_article>
<SCRIPT 
src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/LoadFeedbackCount.js" 
type=text/javascript></SCRIPT>

<H1 class=title_txt>ARM ADS集成开发环境的使用 <CITE class=fav_csdnstylebykimi><A 
class=fav_csdnstylebykimi title=收藏到我的网摘中，并分享给我的朋友 
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏</A> 
</CITE></H1>
<DIV class=blogstory>
<SCRIPT type=text/javascript>
						document.body.oncopy = function() {
							if (window.clipboardData) {
								setTimeout(function() {
									var text = clipboardData.getData("text"); 
									if (text && text.length>300) {
										text = text + "\r\n\n本文来自CSDN博客，转载请标明出处：" + location.href;
										clipboardData.setData("text", text); 
									}
								}, 100);
							}
						}
					</SCRIPT>

<SCRIPT type=text/javascript>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>

<H1 style="MARGIN: 17pt 0cm 16.5pt; TEXT-ALIGN: center" align=center><FONT 
face=宋体><SPAN lang=EN-US>ARM ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">集成开发环境的使用</SPAN></FONT></H1>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在这里，将介绍</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发软件</SPAN><SPAN 
lang=EN-US>ADS(ARM Developer Suite)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。通过学习如何在</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">集成开发环境下编写，编译一个工程的例子，使读者能够掌握在</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件平台下开发用户应用程序。本章还描述了如何使用</SPAN><SPAN 
lang=EN-US>AXD</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调试工程，使读者对于调试工程有个初步的理解，为进一步的使用和掌握调试工具起到抛砖引玉的作用。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>本章主要内容有：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</SPAN><SPAN 
lang=EN-US><FONT face=宋体> ADS</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件组成介绍</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</SPAN><FONT 
face=宋体> <SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用</SPAN><SPAN 
lang=EN-US>ADS</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">创建工程</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</SPAN><FONT 
face=宋体> <SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用</SPAN><SPAN 
lang=EN-US>AXD</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行代码调试</SPAN></FONT></P>
<H2 style="MARGIN: 13pt 0cm"><FONT face=黑体><SPAN lang=EN-US>8.1<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>ADS</SPAN><SPAN 
style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">集成开发环境组成介绍</SPAN></FONT></H2>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>ARM ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">全称为</SPAN><SPAN 
lang=EN-US>ARM Developer Suite</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。是</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公司推出的新一代</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">集成开发工具。现在</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的最新版本是</SPAN><SPAN 
lang=EN-US>1.2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，它取代了早期的</SPAN><SPAN 
lang=EN-US>ADS1.1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>ADS1.0</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。它除了可以安装在</SPAN><SPAN 
lang=EN-US>Windows NT4</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Windows 2000</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Windows 98</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Windows 95</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作系统下，还支持</SPAN><SPAN 
lang=EN-US>Windows XP</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Windows Me</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作系统。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由命令行开发工具，</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时实库，</SPAN><SPAN 
lang=EN-US>GUI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发环境</SPAN><SPAN 
lang=EN-US>(Code Warrior</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>AXD)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，实用程序和支持软件组成。</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有了这些部件，用户就可以为</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">系列的</SPAN><SPAN 
lang=EN-US>RISC</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处理器编写和调试自己的开发应用程序了。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面就详细介绍一下</SPAN><SPAN 
lang=EN-US><FONT face=宋体>ADS</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的各个组成部分。</SPAN></FONT></P>
<H3 style="MARGIN: 13pt 0cm"><FONT face=宋体><FONT size=5><ST1:CHSDATE year="1899" 
month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><SPAN 
lang=EN-US>8.1.1</SPAN></ST1:CHSDATE><SPAN lang=EN-US><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">命令行开发工具</SPAN></FONT></FONT></H3>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这些工具完成将源代码编译，链接成可执行代码的功能。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供下面的命令行开发工具：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><EM 
style="mso-bidi-font-style: normal"><SPAN lang=EN-US 
style="FONT-SIZE: 14pt"><FONT face=宋体>armcc<O:P></O:P></FONT></SPAN></EM></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>armcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>ARM C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器。这个编译器通过了</SPAN><SPAN 
lang=EN-US>Plum Hall C Validation Suite</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为</SPAN><SPAN 
lang=EN-US>ANSI C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的一致性测试。</SPAN><SPAN 
lang=EN-US>armcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用于将用</SPAN><SPAN 
lang=EN-US>ANSI C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编写的程序编译成</SPAN><SPAN 
lang=EN-US>32</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令代码。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">因为</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armcc</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是我们最常用的编译器，所以对此作一个详细的介绍。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>在命令控制台环境下，输入命令：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>armcc –help</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以查看</SPAN><SPAN 
lang=EN-US>armcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的语法格式以及最常用的一些操作选项</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>armcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最基本的用法为：</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>armcc [options] file1 file2 ... filen</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里的</SPAN><SPAN 
lang=EN-US>option</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是编译器所需要的选项，</SPAN><SPAN 
lang=EN-US>fiel1,file2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">…</SPAN><SPAN 
lang=EN-US>filen</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是相关的文件名。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里简单介绍一些最常用的操作选项。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-c</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：表示只进行编译不链接文件；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</SPAN><SPAN 
lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意：这是大写的</SPAN><SPAN 
lang=EN-US>C)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">禁止预编译器将注释行移走；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-D&lt;symbol&gt;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：定义预处理宏，相当于在源程序开头使用了宏定义语句</SPAN><SPAN 
lang=EN-US>#define symbol </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里</SPAN><SPAN 
lang=EN-US>symbol</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">默认为</SPAN><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-E</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：仅仅是对</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源代码进行预处理就停止；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-g&lt;options&gt;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：指定是否在生成的目标文件中包含调试信息表；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-I&lt;directory&gt;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：将</SPAN><SPAN 
lang=EN-US>directory</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所指的路径添加到</SPAN><SPAN 
lang=EN-US>#include</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的搜索路径列表中去；</SPAN><SPAN 
lang=EN-US> -J&lt;directory&gt;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</SPAN><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用</SPAN><SPAN 
lang=EN-US>directory</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所指的路径代替默认的对</SPAN><SPAN 
lang=EN-US>#include</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的搜索路径；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-o&lt;file&gt;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：指定编译器最终生成的输出文件名。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-O0</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：不优化；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-O1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：这是控制代码优化的编译选项，大写字母</SPAN><SPAN 
lang=EN-US>O</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后面跟的数字不同，表示的优化级别就不</SPAN><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1"> </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同，</SPAN><SPAN 
lang=EN-US>-O1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关闭了影响调试结果的优化功能；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-O2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该优化级别提供了最大的优化功能；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-S</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：对源程序进行预处理和编译，自动生成汇编文件而不是目标文件；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-U&lt;symbol&gt;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取消预处理宏名，相当于在源文件开头，使用语句</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3>#undef symbol;</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-W&lt;options&gt;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：关闭所有的或被选择的警告信息；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有关更详细的选项说明，读者可查看</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件的在线帮助文件。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><EM 
style="mso-bidi-font-style: normal"><SPAN lang=EN-US 
style="FONT-SIZE: 14pt"><FONT face=宋体>armcpp<O:P></O:P></FONT></SPAN></EM></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>armcpp</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>ARM C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器。它将</SPAN><SPAN 
lang=EN-US>ISO C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>EC++ </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译成</SPAN><SPAN 
lang=EN-US>32</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令代码。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><EM 
style="mso-bidi-font-style: normal"><SPAN lang=EN-US 
style="FONT-SIZE: 14pt"><FONT face=宋体>tcc<O:P></O:P></FONT></SPAN></EM></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>tcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>Thumb C </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器。该编译器通过了</SPAN><SPAN 
lang=EN-US>Plum Hall C Validation Suite</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为</SPAN><SPAN 
lang=EN-US>ANSI </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一致性的测试。</SPAN><SPAN 
lang=EN-US>tcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将</SPAN><SPAN 
lang=EN-US>ANSI C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源代码编译成</SPAN><SPAN 
lang=EN-US>16</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位的</SPAN><SPAN 
lang=EN-US>Thumb</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令代码。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><EM 
style="mso-bidi-font-style: normal"><SPAN lang=EN-US 
style="FONT-SIZE: 14pt"><FONT face=宋体>tcpp<O:P></O:P></FONT></SPAN></EM></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>tcpp</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>Thumb C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器。</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它将</SPAN><SPAN 
lang=EN-US>ISO C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>EC++ </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源码编译成</SPAN><SPAN 
lang=EN-US>16</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位</SPAN><SPAN 
lang=EN-US>Thumb</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令代码。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><EM 
style="mso-bidi-font-style: normal"><SPAN lang=EN-US 
style="FONT-SIZE: 14pt"><FONT face=宋体>armasm<O:P></O:P></FONT></SPAN></EM></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>armasm</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Thumb</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的汇编器</SPAN><SPAN 
lang=EN-US>. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它对用</SPAN><SPAN 
lang=EN-US>ARM </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">汇编语言和</SPAN><SPAN 
lang=EN-US>Thumb </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">汇编语言写的源代码进行汇编。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><EM 
style="mso-bidi-font-style: normal"><SPAN lang=EN-US 
style="FONT-SIZE: 14pt"><FONT face=宋体>armlink<O:P></O:P></FONT></SPAN></EM></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接器。该命令既可以将编译得到的一个或多个目标文件和相关的一个或多个库文件进行链接，生成一个可执行文件，也可以将多个目标文件部分链接成一个目标文件，以供进一步的链接。</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">链接器生成的是</SPAN><SPAN 
lang=EN-US>ELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的可执行映像文件。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><EM 
style="mso-bidi-font-style: normal"><SPAN lang=EN-US 
style="FONT-SIZE: 14pt"><FONT face=宋体>armsd<O:P></O:P></FONT></SPAN></EM></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>armsd</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>ARM </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Thumb</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的符号调试器。它能够进行源码级的程序调试。用户可以在用</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或汇编语言写的代码中进行单步调试，设置断点，查看变量值和内存单元的内容。</SPAN></FONT></FONT></P>
<P class=4 style="MARGIN: 15.6pt 0cm"><FONT face=宋体><STRONG><FONT 
size=3><ST1:CHSDATE year="1899" month="12" day="30" islunardate="False" 
isrocdate="False" w:st="on"><SPAN lang=EN-US>8.1.1</SPAN></ST1:CHSDATE><SPAN 
lang=EN-US>.1<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>armcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法详解</SPAN></FONT></STRONG></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面为读者介绍上述的</SPAN><FONT 
face=宋体><SPAN lang=EN-US>4</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">种</SPAN><SPAN 
lang=EN-US>ARM C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>C++</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器的命令通用语法。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: blue"><FONT size=3><FONT face=宋体>compiler [PCS-options] 
[source-language] [search-paths] [preprocessor-options] [output-format] 
[target-options] [debug-options] [code-generation-options] [warning-options] 
[additional-checks] [error-options] [source]<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户可以通过命令行操作选项控制编译器的执行。所有的选项都是以符号”</SPAN><SPAN 
lang=EN-US>-</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”开始，有些选项后面还跟有参数。在大多数情况下，</SPAN><SPAN 
lang=EN-US>ARM C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US> C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器允许在选项和参数之间存在空格。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>命令行中各个选项出现顺序可以任意。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里的</SPAN><FONT 
face=宋体><SPAN lang=EN-US>compiler</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是指</SPAN><SPAN 
lang=EN-US>armcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>tcc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US> armcpp</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US> tcpp</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的一个；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">PCS-options</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：指定了要使用的过程调用标准；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">source-language</SPAN><SPAN 
style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定了编译器可以接受的编写源程序的语言种类。对于</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器默认的语</SPAN><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1"> </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">言是</SPAN><SPAN 
lang=EN-US>ANSI C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，对于</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器默认是</SPAN><SPAN 
lang=EN-US>ISO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">search-paths</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定了对包含的文件</SPAN><SPAN 
lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包括源文件和头文件</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的搜索路径；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">preprocessor-options</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定了预处理器的行为，其中包括预处理器的输出和宏定义等</SPAN><SPAN 
lang=EN-US><SPAN 
style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">特性；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">output-format</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定了编译器的输出格式，可以使用该项生成汇编语言输出列表文件</SPAN><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1"> </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和目标文件；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">target-options</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定目标处理器或</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">体系结构；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">debug-options</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定调试信息表是否生成，和该调试信息表生成时的格式；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">code-generation-options</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定了例如优化，字节顺序和由编译器产生的数据对齐格式</SPAN><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1"> </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等选项；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">warning-options</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项决定警告信息是否产生；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">additional-check</SPAN><SPAN 
lang=EN-US>s</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定了几个能用于源码的附加检查，例如检查数据流异常，检查</SPAN><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有使用的声明等；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">error-options</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项可以关闭指定的可恢复的错误，或者将一些指定的错误降级为警告；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US style="COLOR: red">source</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项提供了包含有</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源代码的一个或多个文件名，默认的，编译器在当前</SPAN><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1"> </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">路径寻找源文件和创建输出文件。如果源文件是用汇编语言编写的</SPAN><SPAN 
lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也就是说该文件的</SPAN><SPAN 
lang=EN-US><SPAN 
style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件名是以</SPAN><SPAN 
lang=EN-US>.s</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">作为扩展名</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，汇编器将被调用来处理这些源文件。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>如果操作系统对命令行的长度有限制，可以使用下面的操作，从文件中读取另外的命令行选项：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: red"><FONT size=3><FONT face=宋体>-via 
filename<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该命令打开文件名为</SPAN><SPAN 
lang=EN-US>filename</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的文件，并从中读取命令行选项。用户可以对</SPAN><SPAN 
lang=EN-US>-via</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行嵌套调用，亦即，在文件</SPAN><SPAN 
lang=EN-US>filename</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中又通过</SPAN><SPAN 
lang=EN-US>-via finlename2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包含了另外一个文件。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在下面的例子中，从</SPAN><SPAN 
lang=EN-US><FONT face=宋体>input.txt</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件中读取指定的选项，作为</SPAN><FONT 
face=宋体><SPAN lang=EN-US>armcpp</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的操作选项：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: red"><FONT size=3><FONT face=宋体>armcpp -via input.txt<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>source.c<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以上是对编译器选项的一个简单概述。它们</SPAN><SPAN 
lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包括后面还要介绍的其他一些命令工具</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">既可以在命令控制台环境下使用，同时由于它们被嵌入到了</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的图形界面中，所以也可以在图形界面下使用。</SPAN></FONT></FONT></P>
<P class=4 style="MARGIN: 15.6pt 0cm"><FONT face=宋体><STRONG><FONT 
size=3><ST1:CHSDATE year="1899" month="12" day="30" islunardate="False" 
isrocdate="False" w:st="on"><SPAN lang=EN-US>8.1.1</SPAN></ST1:CHSDATE><SPAN 
lang=EN-US>.2<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法详解</SPAN></FONT></STRONG></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在介绍</SPAN><SPAN 
lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的使用方法之前，先介绍要涉及到的一些术语。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">映像文件</SPAN><SPAN 
lang=EN-US>(image)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：是指一个可执行文件，在执行的时候被加载到处理器中。一个映像文件有多个线程。它是</SPAN><SPAN 
lang=EN-US>ELF(Executable and linking format)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段</SPAN><SPAN 
lang=EN-US>(Section)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：描述映像文件的代码或数据块。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：是</SPAN><SPAN 
lang=EN-US>Read-only</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的简写形式。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：是</SPAN><SPAN 
lang=EN-US>Read-write.</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的简写形式。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>ZI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：是</SPAN><SPAN 
lang=EN-US>Zero-initialized</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的简写形式。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入段</SPAN><SPAN 
lang=EN-US>(input section)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：它包含着代码，初始化数据或描述了在应用程序运行之前必须要初始化为</SPAN><SPAN 
lang=EN-US>0</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的一段内存。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出段</SPAN><SPAN 
lang=EN-US>(output section)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：它包含了一系列具有相同的</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>ZI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的输入段。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">域</SPAN><SPAN 
lang=EN-US>(Regions)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：在一个映像文件中，一个域包含了</SPAN><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">至</SPAN><SPAN 
lang=EN-US>3</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个输出段。多个域组织在一起，就构成了最终的映像文件。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>Read Only Position Independent(ROPI)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：它是指一个段，在这个段中代码和只读数据的地址在运行时候可以改变。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>Read Write Position Independent(RWPI)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：它是指一个段，在该段中的可读</SPAN><SPAN 
lang=EN-US>/</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">写的数据地址在运行期间可以改变。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加载时地址：是指映像文件位于存储器</SPAN><SPAN 
lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在该映像文件没有运行时</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的地址。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行时地址：是指映像文件在运行时的地址。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面介绍一下</SPAN><SPAN 
lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">命令的语法</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完整的连接器命令语法如下：</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3> </FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: blue"><FONT size=3><FONT face=宋体>armlink [-help] [-vsn] [-partial] 
[-output file] [-elf] [-reloc][-ro-base address] [-ropi] 
<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: blue"><FONT size=3><FONT face=宋体>[-rw-base address] [-rwpi] 
[-split] <O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: blue"><FONT size=3><FONT face=宋体>[-scatter 
file][-debug|-nodebug][-remove?RO/RW/ZI/DBG]|-noremove] [-entry location ] 
<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: blue"><FONT size=3><FONT face=宋体>[-keep section-id] [-first 
section-id] [-last section-id] [-libpath pathlist] [-scanlib|-noscanlib] 
[-locals|-nolocals] [-callgraph] [-info topics] [-map] [-symbols] [-symdefs 
file] [-edit file] [-xref] [-xreffrom object(section)] [-xrefto object(section)] 
[-errors file] [-list file] [-verbose]<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: blue"><FONT size=3><FONT face=宋体>[-unmangled |-mangled] [-match 
crossmangled][-via file] [-strict]<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
style="COLOR: blue"><FONT size=3><FONT face=宋体>[-unresolved symbol][-MI|-LI|-BI] 
[input-file-list]<O:P></O:P></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上面各选项的含义分别为：</SPAN><SPAN 
lang=EN-US><FONT face=宋体> </FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-help</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项会列出在命令行中常用的一些选项操作。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-vsn </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项显示出所用的</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的版本信息。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-partial </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>用这个选项创建的是部分链接的目标文件而不是可执行映像文件。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-output file</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项指定了输出文件名，该文件可能是部分链接的目标文件，也可能是可执行映像文件。如果输出文件名没有特别指定的话，</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将使用下面的默认：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果输出是一个可执行映像文件，则生成的输出文件名为</SPAN><SPAN 
lang=EN-US><FONT face=宋体>__image.axf</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果输出是一个部分链接的目标文件，在生成的文件名为</SPAN><SPAN 
lang=EN-US><FONT face=宋体>__object.o</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>如果没有指定输出文件的路径信息，则输出文件就在当前目录下生成。如果指定了路径信息，则所指定的路径成为输出文件的当前路径。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-elf</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项生成</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的映像文件，这也是</SPAN><SPAN 
lang=EN-US>armlink</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所支持的唯一的一种输出格式，这是默认选项。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-reloc</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项生成可重定址的映像。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>一个可重定址的映像具有动态的段，这个段中包含可重定址信息，利用这些信息可以在链接后，进行映像文件的重新定址；</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-reloc</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-rw-base </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一起使用，但是如果没有</SPAN><SPAN 
lang=EN-US>-split</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项，链接时会产生错误。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-ro-base address</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项将包含有</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RO(Read-Only</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出段的加载地址和运行地址设置为</SPAN><SPAN 
lang=EN-US>address</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，该地址必须是字对齐的，如果没有指定这个选项，则默认的</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">基地址值为</SPAN><SPAN 
lang=EN-US>0x8000</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-ropi</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项使得包含有</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出段的加载域和运行域是位置无关的。如果该选项没有使用，则相应的域被标记为绝对的。通常每一个只读属性的输入段必须是只读位置无关的。如果使用了这个选项，</SPAN><SPAN 
lang=EN-US>armlink</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将会进行以下操作：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>检查各段之间的重定址是否有效；</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">确保任何由</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自身生成的代码是只读位置无关的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里希望读者注意的是，</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工具直到</SPAN><SPAN 
lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成了对输入段的处理后，才能够决定最终的生成映像是否为只读位置无关的。这就意味着</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，即使为编译器和汇编器指定了</SPAN><SPAN 
lang=EN-US>ROPI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项，</SPAN><SPAN 
lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也可能会产生</SPAN><SPAN 
lang=EN-US>ROPI</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">错误信息。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-rw-base address</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项设置包含</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RW(Read/Write</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性</SPAN><SPAN 
lang=EN-US>)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出段的域的运行时地址，该地址必须是字对齐的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果这个选项和</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-split</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项一起使用，将设置包含</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出段的域的加载和运行时地址都设置在</SPAN><SPAN 
lang=EN-US>address</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-rwpi</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项使得包含有</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>ZI(Zero Initialization</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，初始化为</SPAN><SPAN 
lang=EN-US>0)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的输出段的加载和运行时域为位置无关的。如果该选项没有使用，相应域标记为绝对的。这个选项要求</SPAN><SPAN 
lang=EN-US>-rw-base</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项后有值，如果</SPAN><SPAN 
lang=EN-US>-rw-base</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有指定的话，默认其值为</SPAN><SPAN 
lang=EN-US>0</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，即相当于</SPAN><SPAN 
lang=EN-US>-rw-base 0</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。通常每一个可写的输入段必须是可读</SPAN><SPAN 
lang=EN-US>/ </SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可写的位置无关的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果使用了该选项，</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会进行以下的操作：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检查可读</SPAN><SPAN 
lang=EN-US><FONT face=宋体>/</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可写属性的运行域的输入段是否设置了位置无关属性；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>检查在各段之间的重定址是否有效；</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成基于静态寄存器</SPAN><FONT 
face=宋体><SPAN lang=EN-US>sb</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的条目，这些在</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>RW</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">域被拷贝和初始化的时候会用到。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器并不会强制可写的数据一定要为位置无关的，这就是说，即使在为编译器和汇编器指定了</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RWPI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项，</SPAN><SPAN 
lang=EN-US>armlink</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也可能生成数据不是</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RWPI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的信息。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-split</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项将包含</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的输出段的加载域，分割成</SPAN><SPAN 
lang=EN-US>2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个加载域。一个是包含</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出段的加载域，默认的加载地址为</SPAN><SPAN 
lang=EN-US>0x8000</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，但是可以用</SPAN><SPAN 
lang=EN-US>-ro-base</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项设置其他的地址值，另一个加载域包含</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的输出段，由</SPAN><SPAN 
lang=EN-US>-rw-base</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项指定加载地址，如果没有使用</SPAN><SPAN 
lang=EN-US>-rw-base</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项的话，默认使用的是</SPAN><SPAN 
lang=EN-US>-rw-base 0</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-scatter file</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项使用在</SPAN><SPAN 
lang=EN-US><FONT face=宋体>file</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中包含的分组和定位信息来创建映像内存映射。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意，如果使用了该选项的话，必须要重新实现堆栈初始化函数</SPAN><SPAN 
lang=EN-US><FONT face=宋体>__user_initial_stackheap()</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-debug</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项使输出文件包含调试信息，调试信息包括，调试输入段，符号和字符串表。这是默认的选项。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-nodebug</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项使得在输出文件中不包含调试信息。生成的映像文件短小，但是不能进行源码级的调试。</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对在输入的目标文件和库函数中发现的任何调试输入段都不予处理，当加载映像文件到调试器中的时候，也不包含符号和字符串信息表。这个选项仅仅是对装载到调试器的映像文件的大小有影响，但是对要下载到目标板上的二进制代码的大小没有任何影响。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果用</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行部分链接生成目标文件而不是映像文件，则虽然在生成的目标文件中不含有调试输入段，但是会包含符号和字符串信息表。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这里特别请读者注意的是：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果要在链接完成后使用</SPAN><FONT 
face=宋体><SPAN lang=EN-US>fromELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工具的话，不可使用</SPAN><SPAN 
lang=EN-US>-nodebug</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项，这是因为如果生成的映像文件中不包含调试信息的话，则有下面的影响：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>fromELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不能将映像文件转换成其他格式的文件；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>fromELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不能生成有意义的反汇编列表。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-remove (RO/RW/ZI/DBG)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>使用这个选项会将在输入段未使用的段从映像文件中删除。如果输入段中含有映像文件入口点或者该输入段被一个使用的段所引用，则这样的输入段会当作已使用的段。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在使用这个选项时候要注意，不要删除异常处理函数。使用</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-keep</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项来标识异常处理函数，或用</SPAN><SPAN 
lang=EN-US>ENTRY</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">伪指令标明是入口点。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>为了更精确的控制删除未使用的段，可以使用段属性限制符。可以使用以下的段属性限制符：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>RO</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">删除所有未使用的</SPAN><SPAN 
lang=EN-US><FONT face=宋体>RO</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的段；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>RW</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">删除所有未使用的</SPAN><SPAN 
lang=EN-US><FONT face=宋体>RW</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的段；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>ZI</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">删除所有未使用的</SPAN><SPAN 
lang=EN-US><FONT face=宋体>ZI</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的段；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>DBG</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">删除所有未使用的</SPAN><FONT 
face=宋体><SPAN lang=EN-US>DEBUG</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的段。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这些限制符出现的顺序是任意的，但是它们必须要有”</SPAN><FONT 
face=宋体><SPAN lang=EN-US>( )</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”括住，多个限制符之间要用符号”</SPAN><SPAN 
lang=EN-US>/</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”进行间隔。</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件中默认选项是</SPAN><SPAN 
lang=EN-US>-remove (RO/RW/ZI/DBG)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果没有指定段属性限制符，则所有未使用的段都会被删除。因为</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-remove</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就等价于</SPAN><SPAN 
lang=EN-US>-remove(RO/RW/ZI/DBG)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-noremove</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项保留映像文件中所有未被使用的段。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-entry location</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项指定映像文件中唯一的初始化入口点。一个映像文件可以包含多个入口点，使用这个命令定义的初始化入口点是存放在可执行文件的头部，以供加载程序加载时使用。当一个映像文件被装载时，</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调试器使用这个入口点地址来初始化</SPAN><SPAN 
lang=EN-US>PC</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指针。初始化入口点必须满足下面的条件：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>映像文件的入口点必须位于运行域内；</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行域必须是非覆盖的，并且必须是固定域</SPAN><SPAN 
lang=EN-US><FONT face=宋体>(</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是说，加载域和运行域的地址相同</SPAN><FONT 
face=宋体><SPAN lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在这里可以用以下的参数代替</SPAN><SPAN 
lang=EN-US><FONT face=宋体>location</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">参数：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">入口点地址：这是一个数值，例如</SPAN><SPAN 
lang=EN-US>-entry 0x0</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号：该选项指定映像文件的入口点为该符号所代表的地址处，比如：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-entry int_handler</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示程序入口点在符号</SPAN><SPAN 
lang=EN-US><FONT face=宋体>int_handler</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所在处。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果该符号有多处定义存在，</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将产生出错信息。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>offset+object(section)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：该选项指定在某个目标文件的段的内部的某个偏移量处为映像文件的入口地址，例如：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-entry 8+startup(startupseg)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果偏移量值为</SPAN><FONT 
face=宋体><SPAN lang=EN-US>0</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，可以简写成</SPAN><SPAN 
lang=EN-US>object(section)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，如果输入段只有一个，则可以简化为</SPAN><SPAN 
lang=EN-US>object</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-keep section-id</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用该选项，可以指定保留一个输入段，这样的话，即使该输入段没有在映像文件中使用，也不会被删除。参数</SPAN><SPAN 
lang=EN-US><FONT face=宋体>section-id</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">取下面一些格式：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3> symbol</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该选项指定定义</SPAN><FONT 
face=宋体><SPAN lang=EN-US>symbol</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的输入段不会在删除未使用的段时被删除。如果映像文件中有多处</SPAN><SPAN 
lang=EN-US>symbol</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义存在，则所有包含</SPAN><SPAN 
lang=EN-US>symbol</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义的输入段都不会被删除。例如：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-keep int_handler</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">则所有定义</SPAN><SPAN 
lang=EN-US><FONT face=宋体>int_handler</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的符号的段都会保留，而不被删除。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为了保留所有含有以</SPAN><SPAN 
lang=EN-US>_handler</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结尾的符号的段，可以使用如下的选项：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-keep *_handler</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3> object(section)</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项指定了在删除未使用段时，保留目标文件中的</SPAN><FONT 
face=宋体><SPAN lang=EN-US>section</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段。输入段和目标名是不区分大小写的，例如，为了在目标文件</SPAN><SPAN 
lang=EN-US>vectors.o</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中保留</SPAN><SPAN 
lang=EN-US>vect</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段，使用：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-keep vectors.o(vect)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为了保留</SPAN><FONT 
face=宋体><SPAN lang=EN-US>vectors.o</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的所有以</SPAN><SPAN 
lang=EN-US>vec</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开头的段名，可以使用选项：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-keep vectors.o(vec*)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3> object</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项指定在删除未使用段时，保留该目标文件唯一的输入段。目标名是不区分大小写的，如果使用这个选项的时候，目标文件中所含的输入段不止一个的话，</SPAN><FONT 
face=宋体><SPAN lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会给出出错信息。比如，为了保留每一个以</SPAN><SPAN 
lang=EN-US>dsp</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开头的只含有唯一输入段的目标文件，可以使用如下的选项：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-keep dsp*.o</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-first section-id</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项将被选择的输入段放在运行域的开始。通过该选项，将包含复位和中断向量地址的段放置在映像文件的开始，可以用下面的参数代替</SPAN><SPAN 
lang=EN-US><FONT face=宋体>section-id:</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3>symbol</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选择定义</SPAN><FONT 
face=宋体><SPAN lang=EN-US>symbol</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的段。禁止指定在多处定义的</SPAN><SPAN 
lang=EN-US>symbol</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，因为多个段不能同时放在映像文件的开始。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3>object(section)</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>从目标文件中选择段放在映像文件的开始位置。在目标文件和括号之间不允许存在空格，例如</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-first init.o(init)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3>object</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选择只有一个输入段的目标文件。如果这个目标文件包含多个输入段，</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会产生错误信息。用这个选项的例子如下：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-first init.o</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这里希望读者注意的是：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-first</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不能改变在域中按照</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段放在开始，接着放置</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段，最后放置</SPAN><SPAN 
lang=EN-US>ZI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段的基本属性排放顺序。如果一个域含有</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段，则</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>ZI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段就不能放在映像文件的开头。类似地，如果一个域有</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段，则</SPAN><SPAN 
lang=EN-US>ZI</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段就不能放在文件开头。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>两个不同的段不能放在同一个运行时域的开头，所以使用该选项的时候只允许将一个段放在映像文件的开头。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-last section-id</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项将所选择的输入段放在运行域的最后。例如，用这个选项能够强制性的将包含校验和的输入段放置在</SPAN><FONT 
face=宋体><SPAN lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段的最后。使用下面的参数可以替换</SPAN><SPAN 
lang=EN-US>section-id</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>1.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>symbol</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选择定义</SPAN><FONT 
face=宋体><SPAN lang=EN-US>symbol</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的段放置在运行域的最后。不能指定一个有多处定义的</SPAN><SPAN 
lang=EN-US>symbol</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。使用该参数的例子如下：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-last checksum</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>2.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>object(section)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从目标文件中选择</SPAN><SPAN 
lang=EN-US><FONT face=宋体>section</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段。在目标文件和后面的括号间不能有空格，用该参数的例子为：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-last checksum.o(check)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>3. object</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选择只有一个输入段的目标，如果该目标文件中有多个输入段，</SPAN><SPAN 
lang=EN-US><FONT face=宋体>armlink</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会给出出错信息。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-first</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项一样，需要读者注意的是</SPAN><SPAN 
lang=EN-US>;</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-last</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项不能改变在域中将</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段放在开始，接着放置</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段，最后放置</SPAN><SPAN 
lang=EN-US>ZI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段的输出段基本的排放顺序。如果一个域含有</SPAN><SPAN 
lang=EN-US>ZI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段，则</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段不能放在最后，如果一个域含有</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>ZI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段，则</SPAN><SPAN 
lang=EN-US>RO</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">段不能放在最后。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>在同一个运行域中，两个不同的段不能同时放在域的最后位置。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-libpath pathlist</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项为</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准的</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>C++</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库指定了搜索路径列表。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>注意，这个选项不会影响对用户库的搜索路径。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项覆盖了环境变量</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARMLIB</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所指定的路径。参数</SPAN><SPAN 
lang=EN-US>pathlist</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个以逗号分开的多个路径列表，即为</SPAN><SPAN 
lang=EN-US>path1, path2,... pathn</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，这个路径列表只是用来搜索要用到的</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数。默认的，对于包含</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数的默认路径是由环境变量</SPAN><SPAN 
lang=EN-US>ARMLIB</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所指定的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-scanlib </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项启动对默认库</SPAN><FONT 
face=宋体><SPAN lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准</SPAN><SPAN 
lang=EN-US>ARM C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库</SPAN><SPAN 
lang=EN-US>)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的扫描以解析引用的符号。这个选项是默认的设置。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-noscanlib </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>该选项禁止在链接时候扫描默认的库。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-locals</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项指导链接器在生成一个可执行映像文件的时候，将本地符号添加到输出符号信息表中。该选项是默认设置。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-nolocals</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项指导链接器在生成一个可执行映像文件的时候，不要将本地符号添加到输出符号信息表中。如果想减小输出符号表的大小，可以使用该选项。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-callgraph</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该选项创建一个</SPAN><SPAN 
lang=EN-US><FONT face=宋体>HTML</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的静态函数调用图。这个调用图给出了映像文件中所有函数的定义和引用信息。对于每一个函数它列出了：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数编译时候的处理器状态</SPAN><SPAN 
lang=EN-US>(ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">状态还是</SPAN><SPAN 
lang=EN-US>Thumb</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">状态</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用</SPAN><SPAN 
lang=EN-US>func</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数的集合；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被</SPAN><SPAN 
lang=EN-US>func</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用的函数的集合；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>4. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在映像文件中使用的</SPAN><SPAN 
lang=EN-US>func</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寻址的次数。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>此外，调用图还标识了下面的函数：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被</SPAN><SPAN 
lang=EN-US>interworking veneers</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所调用的函数；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在映像文件外部定义的函数；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">允许未被定义的函数</SPAN><SPAN 
lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以</SPAN><SPAN 
lang=EN-US>weak</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方式的引用</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>静态调用图还提供了堆栈使用信息，它显示出了：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每个函数所使用的堆栈大小；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在全部的函数调用中，所用到的最大堆栈大小。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-info topics</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项打印出关于指定种类的信息，这里的参数</SPAN><SPAN 
lang=EN-US><FONT face=宋体>topics</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是指用逗号间隔的类型标识符列表。类型标识符列表可以是下面所列出的任意一个：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>1.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>sizes</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为在映像文件中的每一个输入对象和库成员列出了代码和数据</SPAN><FONT 
face=宋体><SPAN lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里的数据包括，</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据，</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据，</SPAN><SPAN 
lang=EN-US>ZI </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据和</SPAN><SPAN 
lang=EN-US>Debug </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据</SPAN><SPAN 
lang=EN-US>)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的大小；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>2.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>totals</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为输入对象文件和库，列出代码和数据</SPAN><FONT 
face=宋体><SPAN lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里的数据包括，</SPAN><SPAN 
lang=EN-US>RO</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据，</SPAN><SPAN 
lang=EN-US>RW</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据，</SPAN><SPAN 
lang=EN-US>ZI </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据和</SPAN><SPAN 
lang=EN-US>Debug </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据</SPAN><SPAN 
lang=EN-US>) </SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">总的大小；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>3. veneers</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给出由</SPAN><FONT 
face=宋体><SPAN lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成的</SPAN><SPAN 
lang=EN-US>veneers</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的详细信息；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>4. unused</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">列出由于使用</SPAN><SPAN 
lang=EN-US><FONT face=宋体>-remove</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项而从映像文件中被删除的所有未使用段。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>注意：在信息类型标识符列表之间不能存在空格，比如可以输入</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-info sizes,totals </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>但是不能是</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>-info sizes, totals(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即在逗号和</SPAN><SPAN 
lang=EN-US>totals</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间有空格是不允许的</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3>)</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-map</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项创建映像文件的信息图。映像文件信息图包括映像文件中的每个加载域，运行域和输入段的大小和地址，这里的输入段还包括调试信息和链接器产生的输入段。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-symbols</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项列出了链接的时候使用的每一个局部和全局符号。该符号还包括链接生成的符号。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-symdefs file</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项创建一个包含来自输出映像文件的全局符号定义的符号定义文件。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">默认的，所有的全局符号都写入到符号定义文件中。如果文件</SPAN><FONT 
face=宋体><SPAN lang=EN-US>file</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">已经存在，链接器将限制生成在已存在的</SPAN><SPAN 
lang=EN-US>symdefs</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件中已列出的符号。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果文件</SPAN><SPAN 
lang=EN-US><FONT face=宋体>file</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有指明路径信息，链接器将在输出映像文件的路径搜索文件。如果文件没有找到，就会在该目录下面创建文件。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>在链接另一个映像文件的时候，可以将符号定义文件作为链接的输入文件。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-edit file</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项指定一个</SPAN><FONT 
face=宋体><SPAN lang=EN-US>steering </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类型的文件，该文件包含用于修改输出文件中的符号信息表的命令。可以在</SPAN><SPAN 
lang=EN-US>steering</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件中指定具有以下功能的命令：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>隐藏全局符号。使用该选项可以在目标文件中隐藏指定的全局符号。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>重命名全局符号。使用这个选项可以解决符号命名冲突的现象。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-xref</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>该选项列出了在输入段间的所有交叉引用。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-xreffrom object(section)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项列出了从目标文件中的输入段对其他输入段的交叉引用。如果想知道某个指定的输入段中的引用情况，就可以使用该选项。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-xrefto object(section)</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>该选项列出了从其他输入段到目标文件输入段的引用。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-errors file </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用该选项会将诊断信息从标准输出流重定向到文件</SPAN><SPAN 
lang=EN-US>file</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-list file</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该选项将</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-info</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-map</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-symbols</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-xref</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-xreffrom</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">–</SPAN><SPAN 
lang=EN-US>xrefto</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这几个选项的输出重新定向到文件</SPAN><SPAN 
lang=EN-US>file</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果文件</SPAN><SPAN 
lang=EN-US><FONT face=宋体>file</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有指定路径信息，就会在输出路径创建该文件，该路径是输出映像文件所在的路径。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-verbose</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项将有关链接操作的细节打印出来，包括所包括的目标文件和要用到的库。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-unmangled</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该选项指定链接器在由</SPAN><FONT 
face=宋体><SPAN lang=EN-US>xref</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-xreffrom</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-xrefto</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，和</SPAN><SPAN 
lang=EN-US>-symbols</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所生成的诊断信息中显示出</SPAN><SPAN 
lang=EN-US>unmangled C++</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号名。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果使用了这个选项，链接器将</SPAN><SPAN 
lang=EN-US><FONT face=宋体>unmangle C++</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号名以源码的形式显示出来。这个选项是默认的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-mangled</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项指定链接器显示由</SPAN><FONT 
face=宋体><SPAN lang=EN-US>-xref</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-xreffrom</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>-xrefto</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，和</SPAN><SPAN 
lang=EN-US>-symbols</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所产生的诊断信息中的</SPAN><SPAN 
lang=EN-US>mangled C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号名。如果使用了该选项，链接器就不会</SPAN><SPAN 
lang=EN-US>unmangle C++</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号名了。符号名是按照它们在目标符号表中显示的格式显示的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-via file</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该选项表示从文件</SPAN><SPAN 
lang=EN-US><FONT face=宋体>file</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中读取输入文件名列表和链接器选项。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><FONT 
face=宋体><SPAN lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">命令行可以输入多个</SPAN><SPAN 
lang=EN-US>-via</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项，当然，</SPAN><SPAN 
lang=EN-US>-via</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项也能够不含在一个</SPAN><SPAN 
lang=EN-US>via</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件中。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-strict</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这个选项告诉链接器报告可能导致错误而不是警告的条件。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>-unresolved symbol</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个选项将未被解析的符号指向全局符号</SPAN><FONT 
face=宋体><SPAN lang=EN-US>symbol</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN><SPAN 
lang=EN-US>Symbol</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">必须是已定义的全局符号，否则，</SPAN><SPAN 
lang=EN-US>symbol</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会当作一个未解析的符号，链接将以失败告终。这个选项在自上而下的开发中尤为有用，在这种情况下，通过将无法指向相应函数的引用指向一个伪函数的方法，可以测试一个部分实现的系统。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>该选项不会显示任何警告信息。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>input-file-list</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这是一个以空格作为间隔符的目标或库的列表。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有一类特殊的目标文件，即</SPAN><FONT 
face=宋体><SPAN lang=EN-US>symdef</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件，也可以包含在文件列表中，为生成的映像文件提供全局的</SPAN><SPAN 
lang=EN-US>symbol</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">值。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>在输入文件列表中有两种使用库的方法。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定要从库中提取并作为目标文件添加到映像文件中的特定的成员。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定某库文件，链接器根据需要从其中提取成员。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>armlink</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">按照以下的顺序处理输入文件列表：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无条件的添加目标文件</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用匹配模式从库中选择成员加载到映像文件中去。例如使用下面的命令：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>armlink main.o mylib(stdio.o) mylib(a*.o). </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将会无条件的把</SPAN><FONT 
face=宋体><SPAN lang=EN-US>mylib</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库中所有的以字母</SPAN><SPAN 
lang=EN-US>a</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开头的目标文件和</SPAN><SPAN 
lang=EN-US>stdio.o</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在链接的时候链接到生成的映像文件中去。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">添加为解析尚未解析的引用的库到库文件列表。</SPAN></FONT></FONT></P>
<H3 style="MARGIN: 13pt 0cm"><FONT face=宋体><FONT size=5><ST1:CHSDATE year="1899" 
month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><SPAN 
lang=EN-US>8.1.2<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>A</SPAN></ST1:CHSDATE><SPAN lang=EN-US>RM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行时库</SPAN></FONT></FONT></H3>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本小节为读者介绍一下</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM C/C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库方面的相关内容。</SPAN></FONT></FONT></P>
<P class=4 style="MARGIN: 15.6pt 0cm"><FONT face=宋体><STRONG><FONT 
size=3><ST1:CHSDATE year="1899" month="12" day="30" islunardate="False" 
isrocdate="False" w:st="on"><SPAN lang=EN-US>8.1.2</SPAN></ST1:CHSDATE><SPAN 
lang=EN-US>.1<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行时库类型和建立选项</SPAN></FONT></STRONG></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供以下的运行时库来支持被编译的</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代码：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ANSI C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</SPAN><SPAN 
lang=EN-US><FONT face=宋体>C</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数库是由以下几部分组成：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN 
lang=EN-US>ISO C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准中定义的函数；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN 
lang=EN-US>semihosted</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">环境下</SPAN><SPAN 
lang=EN-US>(semihosting</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是针对</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目标机的一种机制，它能够根据应用程序代码的输入</SPAN><SPAN 
lang=EN-US>/</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出请求，与运行有调试功能的主机通讯。这种技术允许主机为通常没有输入和输出功能的目标硬件提供主机资源</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用来实现</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数的与目标相关的函数；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器所调用的支持函数。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ARM C </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库提供了额外的一些部件支持</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，并为不同的结构体系和处理器编译代码。</SPAN></FONT><SPAN 
lang=EN-US><FONT size=3> </FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数包含由</SPAN><SPAN 
lang=EN-US>ISO C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库标准定义的函数。</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库依赖于相应的</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库实现与特定目标相关的部分，在</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库的内部本身是不包含与目标相关的部分。这个库是由以下几部分组成的：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版本为</SPAN><ST1:CHSDATE 
year="1899" month="12" day="30" islunardate="False" isrocdate="False" 
w:st="on"><SPAN lang=EN-US>2.01.01</SPAN></ST1:CHSDATE><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN 
lang=EN-US>Rogue Wave Standard C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN><SPAN 
lang=EN-US> C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器使用的支持函数；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．</SPAN><SPAN 
lang=EN-US> Rogue Wave</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库所不支持的其他的</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">正如上面所说，</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ANSI C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库使用标准的</SPAN><SPAN 
lang=EN-US>ARM semihosted </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">环境提供例如，文件输入</SPAN><SPAN 
lang=EN-US>/</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出的功能。</SPAN><SPAN 
lang=EN-US>Semihosting</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是由已定义的软件中断</SPAN><SPAN 
lang=EN-US>(Software Interrupt)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作来实现的。在大多数的情况下，</SPAN><SPAN 
lang=EN-US>semihosting SWI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是被库函数内部的代码所触发，用于调试的代理程序处理</SPAN><SPAN 
lang=EN-US>SWI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">异常。调试代理程序为主机提供所需要的通信。</SPAN><SPAN 
lang=EN-US>Semihosted</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被</SPAN><SPAN 
lang=EN-US>ARMulator </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Angel</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Multi-ICE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所支持。用户可以使用在</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件中的</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发工具去开发用户应用程序，然后在</SPAN><SPAN 
lang=EN-US>ARMulator</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或在一个开发板上运行和调试该程序。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户可以把</SPAN><FONT 
face=宋体><SPAN lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库中的与目标相关的函数作为自己应用程序中的一部分，重新进行代码的实现。这就为用户带来了极大的方便，用户可以根据自己的执行环境，适当的裁剪</SPAN><SPAN 
lang=EN-US>C</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>除此之外，用户还可以针对自己的应用程序的要求，对与目标无关的库函数进行适当的裁剪。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN 
lang=EN-US><FONT face=宋体>C</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库中有很多函数是独立于其他函数的，并且与目标硬件没有任何依赖关系。对于这类函数，用户可以很容易地从汇编代码中使用它们。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>在建立自己的用户应用程序的时候，用户必须指定一些最基本的操作选项。例如：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字节顺序，是大端模式</SPAN><FONT 
face=宋体><SPAN lang=EN-US>(big endian:</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字数据的高字节存放在低地址，低字节存放在高地址</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，还是小端模式</SPAN><SPAN 
lang=EN-US>(little endian:</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字数据的高字节存放在高地址，低字节存放在低地址</SPAN><FONT 
face=宋体><SPAN lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">浮点支持：可能是</SPAN><FONT 
face=宋体><SPAN lang=EN-US>FPA</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>VFP</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，软件浮点处理或不支持浮点运算；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>堆栈限制：是否检查堆栈溢出；</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位置无关</SPAN><FONT 
face=宋体><SPAN lang=EN-US>(PID)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：数据是从与位置无关的代码还是从与位置相关的代码中读</SPAN><SPAN 
lang=EN-US>/</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">写，代码是位置无关的只读代码还是位置相关的的只读代码。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当用户对汇编程序，</SPAN><FONT 
face=宋体><SPAN lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序或</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序进行链接的时候，链接器会根据在建立时所指定的选项，选择适当的</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行时库的类型。选项各种不同组合都有一个相应的</SPAN><SPAN 
lang=EN-US>ANSI C</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库类型。</SPAN></FONT></P>
<P class=4 style="MARGIN: 15.6pt 0cm"><FONT face=宋体><STRONG><FONT 
size=3><ST1:CHSDATE year="1899" month="12" day="30" islunardate="False" 
isrocdate="False" w:st="on"><SPAN lang=EN-US>8.1.2</SPAN></ST1:CHSDATE><SPAN 
lang=EN-US>.2<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库路径结构</SPAN></FONT></STRONG></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库路径是在</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件安装路径的</SPAN><SPAN 
lang=EN-US>lib</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下的两个子目录。假设，</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件安装在</SPAN><SPAN 
lang=EN-US>e:\arm\adsv1_2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录，则在</SPAN><SPAN 
lang=EN-US>e:\arm\adsv1_2\lib</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下的两个子目录</SPAN><SPAN 
lang=EN-US>armlib</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>cpplib</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN 
lang=EN-US>ARM</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的库所在的路径。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>armlib</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个子目录包含了</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM C </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库，浮点代数运算库，数学库等各类库函数。与这些库相应的头文件在</SPAN><SPAN 
lang=EN-US>e:\arm\adsv1_2\include</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录中。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>cpplib</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个子目录包含了</SPAN><FONT 
face=宋体><SPAN lang=EN-US>Rogue Wave C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库和</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持函数库。</SPAN><SPAN 
lang=EN-US>Rogue Wave C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库和</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持函数库合在一起被称为</SPAN><SPAN 
lang=EN-US>ARM C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库。与这些库相应的头文件安装在</SPAN><SPAN 
lang=EN-US>e:\arm\adsv1_2\include</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">环境变量</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARMLIB</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">必须被设置成指向库路径。另外一种指定</SPAN><SPAN 
lang=EN-US>ARM C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>ARM C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库路径的方法是，在链接的时候使用操作选项</SPAN><SPAN 
lang=EN-US>-libpath directory(directory</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表库所在的路径</SPAN><SPAN 
lang=EN-US>)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，来指明要装载的库的路径。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无需对</SPAN><FONT 
face=宋体><SPAN lang=EN-US>armlib</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>cpplib</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这两个库路径分开指明，链接器会自动从用户所指明的库路径中找出这两个子目录。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>这里需要让读者特别注意的以下几点：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1. ARM C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数是以二进制格式提供的；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2. ARM </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数禁止修改。如果读者想对库函数创建新的实现的话，可以把这个新的函数编译成目标文件，然后在链接的时候把它包含进来。这样在链接的时候，使用的是新的函数实现而不是原来的库函数。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通常情况下，为了创建依赖于目标的应用程序，在</SPAN><SPAN 
lang=EN-US>ANSI C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库中只有很少的几个函数需要实现重建。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>4. Rogue Wave Standard C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数库的源代码不是免费发布的，可以从</SPAN><SPAN 
lang=EN-US>Rogue Wave Software Inc.</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，或</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公司通过支付许可证费用来获得源文件。</SPAN></FONT></FONT></P>
<H3 style="MARGIN: 13pt 0cm"><FONT face=宋体><FONT size=5><ST1:CHSDATE year="1899" 
month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><SPAN 
lang=EN-US>8.1.3</SPAN></ST1:CHSDATE><SPAN lang=EN-US><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>GUI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发环境</SPAN><SPAN 
lang=EN-US>(Code Warrior</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN></FONT><SPAN 
lang=EN-US><FONT size=5>AXD)</FONT></SPAN></FONT></H3>
<P class=4 style="MARGIN: 15.6pt 0cm"><FONT face=宋体><STRONG><FONT 
size=3><ST1:CHSDATE year="1899" month="12" day="30" islunardate="False" 
isrocdate="False" w:st="on"><SPAN lang=EN-US>8.1.3</SPAN></ST1:CHSDATE><SPAN 
lang=EN-US>.1 CodeWarrior</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">集成开发环境</SPAN></FONT></STRONG></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>CodeWarrior for ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一套完整的集成开发工具，充分发挥了</SPAN><SPAN 
lang=EN-US>ARM RISC </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的优势</SPAN><SPAN 
lang=EN-US>, </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使产品开发人员能够很好的应用尖端的片上系统技术</SPAN><SPAN 
lang=EN-US>. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该工具是专为基于</SPAN><SPAN 
lang=EN-US>ARM RISC</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的处理器而设计的</SPAN><SPAN 
lang=EN-US>, </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它可加速并简化嵌入式开发过程中的每一个环节，使得开发人员只需通过一个集成软件开发环境就能研制出</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">产品，在整个开发周期中</SPAN><SPAN 
lang=EN-US>,</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发人员无需离开</SPAN><SPAN 
lang=EN-US>CodeWarrior</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发环境</SPAN><SPAN 
lang=EN-US>, </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">因此节省了在操做工具上花的时间</SPAN><SPAN 
lang=EN-US>,</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使得开发人员有更多的精力投入到代码编写上来，</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>CodeWarrior</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">集成开发环境</SPAN><SPAN 
lang=EN-US>(IDE)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为管理和开发项目提供了简单多样化的图形用户界面。用户可以使用</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Thumb</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处理器开发用</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，或</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">汇编语言的程序代码。通过提供下面的功能，</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缩短了用户开发项目代码的周期。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">全面的项目管理功能；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子函数的代码导航功能，使得用户迅速找到程序中的子函数。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以在</SPAN><FONT 
face=宋体><SPAN lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置在</SPAN><ST1:CHSDATE 
year="1899" month="12" day="30" islunardate="False" isrocdate="False" 
w:st="on"><SPAN lang=EN-US>8.1.1</SPAN></ST1:CHSDATE></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中介绍的各种命令工具，实现对工程代码的编译，汇编和链接。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><FONT 
face=宋体><SPAN lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中所涉及到的</SPAN><SPAN 
lang=EN-US>target</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有两种不同的语义。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目标系统</SPAN><SPAN 
lang=EN-US><FONT face=宋体>(Target system)</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是特指代码要运行的环境，是基于</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的硬件。比如，要为</SPAN><SPAN 
lang=EN-US>ARM</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发板上编写要运行在它上面的程序，这个开发板就是目标系统。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成目标</SPAN><SPAN 
lang=EN-US><FONT face=宋体>(Build target)</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是指用于生成特定的目标文件的选项设置</SPAN><FONT 
face=宋体><SPAN lang=EN-US>(</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包括汇编选项，编译选项，链接选项以及链接后的处理选项</SPAN><SPAN 
lang=EN-US>)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和所用的文件的集合。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>CodeWarrior IDE </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">能够让用户将源代码文件，库文件还有其他相关的文件以及配置设置等放在一个工程中。每个工程可以创建和管理生成目标设置的多个配置。例如，要编译一个包含调试信息的生成目标和一个基于</SPAN><SPAN 
lang=EN-US>ARM7TDMI</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的硬件优化生成目标，生成目标可以在同一个工程中共享文件，同时使用各自的设置。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为用户提供下面的功能：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源代码编辑器，它集成在</SPAN><SPAN 
lang=EN-US><FONT face=宋体>CodeWarrior IDE</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的浏览器中，能够根据语法格式，使用不同的颜色显示代码；</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>源代码浏览器，它保存了在源码中定义的所有符号，能够使用户在源码中快速方便的跳转；</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>查找和替换功能，用户可以在多个文件中，利用字符串通配符，进行字符串的搜索和替换；</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>文件比较功能，可以使用户比较路径中的不同文本文件的内容。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是基于</SPAN><SPAN 
lang=EN-US>Metrowerks CodeWarrior IDE 4.2</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版本的。它经过适当的裁剪以支持</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工具链。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">针对</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配置面板为用户提供了在</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">集成环境下配置各种</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发工具的能力，这样用户可以不用在命令控制台下就能够使用在</SPAN><ST1:CHSDATE 
year="1899" month="12" day="30" islunardate="False" isrocdate="False" 
w:st="on"><SPAN lang=EN-US>8.1.1</SPAN></ST1:CHSDATE><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和将在</SPAN><SPAN 
lang=EN-US>8.1.4</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中介绍的各种命令。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为目标平台的工程创建向导，可以使用户以此为基础，快速创建</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Thumb</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工程。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">尽管大多数的</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工具链已经集成在</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，但是仍有许多功能在该集成环境中没有实现，这些功能大多数是和调试相关的，因为</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的调试器没有集成到</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由于</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调试器</SPAN><SPAN 
lang=EN-US>(AXD)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有集成在</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中，这就意味着，用户不能在</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中进行断点调试和查看变量。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于熟悉</SPAN><FONT 
face=宋体><SPAN lang=EN-US>CodeWarrior IDE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的用户会发现，有许多的功能已经从</SPAN><SPAN 
lang=EN-US>CodeWarrior IDE For ARM</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中移走，比如快速应用程序开发模板等。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN 
lang=EN-US><FONT face=宋体>CodeWarrior IDE For ARM</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中有很多的菜单或子菜单是不能使用的。下面介绍一下这些不能使用的选项。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1. View</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">菜单下不能使用的菜单选项有：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>Processes</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Expressions</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Global Variable</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Breakpoints</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Registers</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>Project</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">菜单不能使用的菜单选项：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>Precompile</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子菜单。因为</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译器不支持预编译的头文件。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>Debug</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">菜单</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>该菜单中没有一个子菜单是可以使用的。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>4.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>Browser</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">菜单中不能使用的菜单选项：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>New Property</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>New Method</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>New Event Set</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>5.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>Help 
menu</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中不能用于</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的菜单选项有：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>CodeWarrior Help</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Index</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>Search</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Online Manuals</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有关</SPAN><SPAN 
lang=EN-US><FONT face=宋体>CodeWarrior IDE</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中一些常用菜单的使用，将在后面的举例中具体说明的，在此，不在赘述。</SPAN></FONT></P>
<P class=4 style="MARGIN: 15.6pt 0cm"><FONT face=宋体><STRONG><FONT 
size=3><ST1:CHSDATE year="1899" month="12" day="30" islunardate="False" 
isrocdate="False" w:st="on"><SPAN lang=EN-US>8.1.3</SPAN></ST1:CHSDATE><SPAN 
lang=EN-US>.2<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调试器</SPAN></FONT></STRONG></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调试器本身是一个软件，用户通过这个软件使用</SPAN><SPAN 
lang=EN-US><FONT face=宋体>debug agent</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以对包含有调试信息的，正在运行的可执行代码进行比如变量的查看，断点的控制等调试操作。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中包含有</SPAN><SPAN 
lang=EN-US>3</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个调试器：</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>AXD(ARM eXtended Debugger)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">扩展调试器；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>armsd(ARM Symbolic Debugger)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号调试器；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与老版本兼容的</SPAN><FONT 
face=宋体><SPAN lang=EN-US>Windows</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN 
lang=EN-US>Unix</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下的</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调试工具，</SPAN><SPAN 
lang=EN-US>ADW/ADU(Application Debugger Windows/Unix)</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>下面对在调试映像文件中所涉及到的一些术语做一个简单的介绍。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>Debug target</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在软件开发的最初阶段，可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果，这可以由软件仿真来完成。即使调试器和要测试的软件运行在同一台</SPAN><SPAN 
lang=EN-US><FONT face=宋体>PC</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上，也可以把目标当作一个独立的硬件来看待。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当然，也可以搭建一个</SPAN><SPAN 
lang=EN-US><FONT face=宋体>PCB</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">板，这个板上可以包含一个或多个处理器，在这个板上可以运行和调试应用软件。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>只有当通过硬件或者是软件仿真所得到的结果达到了预期的效果，才算是完成了应用程序的编写工作。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>调试器能够发送以下指令：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>1. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">装载映像文件到目标内存；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>2. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">启动或停止程序的执行；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>3. </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">显示内存，寄存器或变量的值；</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>4.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">允许用户改变存储的变量值。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>Debug agent</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>Debug agent</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">执行调试器发出的命令动作，比如：设置断点，从存储器中读数据，把数据写到存储器等。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>Debug agent</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">既不是被调试的程序，也不是调试器。在</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">体系中，它有这几种方式：</SPAN><SPAN 
lang=EN-US>Multi-ICE(Multi-processor in-circuit emulator)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>ARMulator</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Angel</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。其中</SPAN><SPAN 
lang=EN-US>Multi-ICE</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个独立的产品，是</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公司自己的</SPAN><SPAN 
lang=EN-US>JTAG</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在线仿真器，不是由</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供的。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>AXD</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以在</SPAN><SPAN 
lang=EN-US>Windows </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>UNIX</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下，进行程序的调试。它为用</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN 
lang=EN-US>C++</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，和汇编语言编写的源代码提供了一个全面的</SPAN><SPAN 
lang=EN-US>Windows </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>UNIX </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">环境。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在后面的章节中，会结合具体实例为读者介绍如何使用</SPAN><SPAN 
lang=EN-US><FONT face=宋体>AXD</FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调试器。</SPAN></FONT></P>
<H3 style="MARGIN: 13pt 0cm"><FONT face=宋体><FONT size=5><ST1:CHSDATE year="1899" 
month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><SPAN 
lang=EN-US>8.1.4</SPAN></ST1:CHSDATE><SPAN lang=EN-US> </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实用程序</SPAN></FONT></FONT></H3>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供以下的实用工具来配合前面介绍的命令行开发工具的使用</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>fromELF</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">映像文件转换工具。该命令将</SPAN><SPAN 
lang=EN-US>ELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的文件作为输入文件，将该格式转换为各种输出格式的文件，包括</SPAN><SPAN 
lang=EN-US>plain binary(BIN</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式映像文件</SPAN><SPAN 
lang=EN-US>), Motorola 32-bit S-record format(Motorola 32</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位</SPAN><SPAN 
lang=EN-US>S</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式映像文件</SPAN><SPAN 
lang=EN-US>), Intel Hex 32 format(Intel 32</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位格式映像文件</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，和</SPAN><SPAN 
lang=EN-US> Verilog-like hex format(Verilog 16</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进制文件</SPAN><SPAN 
lang=EN-US>)</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN><SPAN 
lang=EN-US>FromELF</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">命令也能够为输入映像文件产生文本信息，例如代码和数据长度。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>armar</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库函数生成器将一系列</SPAN><SPAN 
lang=EN-US>ELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的目标文件以库函数的形式集合在一起，用户可以把一个库传递给一个链接器以代替几个</SPAN><SPAN 
lang=EN-US>ELF</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>Flash downloader</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用于把二进制映像文件下载到</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发板上的</SPAN><SPAN 
lang=EN-US>Flash</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器的工具</SPAN></FONT></P>
<H3 style="MARGIN: 13pt 0cm"><FONT face=宋体><FONT size=5><ST1:CHSDATE year="1899" 
month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><SPAN 
lang=EN-US>8.1.5</SPAN></ST1:CHSDATE><SPAN lang=EN-US><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持的软件</SPAN></FONT></FONT></H3>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=宋体><FONT size=3><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为用户提供下面的软件，使用户可以在软件仿真的环境下或者在基于</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的硬件环境调试用户应用程序。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=宋体 
size=3>ARMulator</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是一个</SPAN><FONT 
face=宋体><SPAN lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令集仿真器，集成在</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的调试器</SPAN><SPAN 
lang=EN-US>AXD</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中，它提供对</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处理器的指令集的仿真，为</SPAN><SPAN 
lang=EN-US>ARM</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>Thumb</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供精确的模拟。用户可以在硬件尚未做好的情况下，开发程序代码。</SPAN></FONT></P>
<H2 style="MARGIN: 13pt 0cm"><FONT face=黑体><SPAN lang=EN-US>8.2<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">使用</SPAN><SPAN 
lang=EN-US>ADS</SPAN><SPAN 
style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">创建工程</SPAN></FONT></H2>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节通过一个具体实例，为读者介绍如何使用该集成开发环境，利用</SPAN><FONT 
face=宋体><SPAN lang=EN-US>CodeWarrior</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供的建立工程的模板建立自己的工程，并学会如何进行编译链接，生成包含调试信息的映像文件和可以直接烧写的</SPAN><SPAN 
lang=EN-US>Flash</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的</SPAN><SPAN 
lang=EN-US>.bin</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的二进制可执行文件。</SPAN></FONT></P>
<H3 style="MARGIN: 13pt 0cm"><FONT face=宋体><FONT size=5><ST1:CHSDATE year="1899" 
month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><SPAN 
lang=EN-US>8.2.1</SPAN></ST1:CHSDATE><SPAN lang=EN-US><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建立一个工程</SPAN></FONT></FONT></H3>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>工程将所有的源码文件组织在一起，并能够决定最终生成文件存放的路径，输出的格式等。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><FONT 
face=宋体><SPAN lang=EN-US>CodeWarrior</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中新建一个工程的方法有两种，可以在工具栏中单击“</SPAN><SPAN 
lang=EN-US>New</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”按钮，也可以在“</SPAN><SPAN 
lang=EN-US>File</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”菜单中选择“</SPAN><SPAN 
lang=EN-US>New</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">…”菜单。这样就会打开一个如图</SPAN><SPAN 
lang=EN-US>8.1</SPAN></FONT><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示的对话框。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><O:P><FONT 
face=宋体 size=3></FONT></O:P></SPAN></P>&nbsp; 
<P class="right articalinfo">发表于 @ 2007年07月01日　11:07:00&nbsp;| <A id=a_comment 
title=评论 
href="http://blog.csdn.net/yhmhappy2006/archive/2007/07/01/1673203.aspx#FeedBack">评论( 
<SPAN id=FeedbackCount_1673203>loading...</SPAN>
<SCRIPT type=text/javascript>
								AddFeedbackCountStack("1673203")
							</SCRIPT>
 ) </A>| <SPAN style="DISPLAY: none"><A id=a_postedit title=编辑 
href="http://writeblog.csdn.net/PostEdit.aspx?entryId=1673203">编辑</A>|</SPAN> <A 
href="mailto:yuexn@csdn.net?subject=Article Report!!!&amp;body=Author:yhmhappy2006URL:http://blog.csdn.net/ArticleContent.aspx?UserName=yhmhappy2006&amp;Entryid=1673203">举报</A>| 
<CITE class=fav_csdnstylebykimi><A class=fav_csdnstylebykimi 
title=收藏到我的网摘中，并分享给我的朋友 
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏</A> 
</CITE></P><SPAN id=Post.ascx_ViewPost_PreviousAndNextEntriesDown>
<H3 class=pagego><A 
href="http://blog.csdn.net/yhmhappy2006/archive/2007/07/01/1673160.aspx">旧一篇:基于ARM芯片S3C2410的TFT-LCD驱动方法</A>&nbsp;|&nbsp;<A 
href="http://blog.csdn.net/yhmhappy2006/archive/2007/07/11/1684844.aspx">新一篇:今日买了新手机！</A></H3></SPAN></DIV></DIV><A 
name=FeedBack></A>
<DIV class=commentslist>
<SCRIPT type=text/javascript>
					var CurrentEntryId = '1673203';
				</SCRIPT>

<SCRIPT src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/feedback.js" 
type=text/javascript></SCRIPT>

<DIV id=commentslist></DIV></DIV>
<DIV class=spacecommment></DIV>
<SCRIPT type=text/javascript>
			LoadFeedbackCount();
			document.write("<img src='http://counter.csdn.net/pv.aspx?id=24' border=0 width=0 height=0>");
			</SCRIPT>
</DIV></DIV></DIV>
<DIV id=pubfooter>
<DL>
  <DT>
  <DD>Csdn Blog version 3.1a 
  <DD>Copyright © yhmhappy2006 </DD></DL></DIV>
<SCRIPT src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/counter.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="ARM ADS集成开发环境的使用 - Nathan_Yu的专栏 - CSDN博客.files/ga.js" 
type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>
try {
	var pageTracker = _gat._getTracker("UA-2688088-9");
	pageTracker._trackPageview();
} catch (err) { }
</SCRIPT>
</DIV></DIV><IMG height=0 src="" width=0> </BODY></HTML>
